//index.js
//获取应用实例
const app = getApp()

Page({
  data: {
    motto: 'Hello 小程序',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    listInfo: [{
      name: '男装'
    }, {
      name: '女装'
      }, {
        name: '童装'
    }, {
      name: '零食'
      }, {
        name: '饮料'
    }, {
      name: '雪糕'
      } , {
        name: '梦想'
    }, {
      name: '咸鱼'
      }, {
        name: '皮皮虾'
      }]
  },
  //事件处理函数
  bindJumpView: function(event) {
    //获取wx-for绑定的事件通过dataset传过来的参数
    console.log(event.currentTarget.dataset)
    //跳转页面，之前在app.json里配好的
    const idx = event.currentTarget.dataset.idx
    const item = event.currentTarget.dataset.item

    //注意：为了不让用户在使用小程序时造成困扰，我们规定页面路径只能是五层，请尽量避免多层级的交互方式。
    // tip: wx.navigateTo 和 wx.redirectTo 不允许跳转到 tabbar 页面，只能用 wx.switchTab 跳转到 tabbar 页面
    //1.保留当前页面，跳转到应用内的某个页面，使用wx.navigateBack可以返回到原页面。
    wx.navigateTo({
      url: "../list/list?id=" + idx,
      success(){
        console.log('接口调用成功的回调函数')
      },
      fail(){
        console.log('接口调用失败的回调函数')
      },
      complete(){
        console.log('接口调用结束的回调函数（调用成功、失败都会执行）')
      }
    })

    //2.在当前页面打开，使用wx.navigateBack可以返回到原页面。
    // wx.redirectTo({
    //   url: "../list/list?id=" + idx
    // })

    //3.关闭所有页面，打开到应用内的某个页面。
    // wx.reLaunch({
    //   url: "../list/list?id=" + idx
    // })

    //4.跳转到 tabBar 页面，并关闭其他所有非 tabBar 页面
    // wx.switchTab({
    //   url: "../list/list"//需要跳转的 tabBar 页面的路径（需在 app.json 的 tabBar 字段定义的页面），路径后不能带参数
    // })
  },
  onLoad: function () {
    // 页面渲染后 执行
    if (app.globalData.userInfo) {
      this.setData({
        userInfo: app.globalData.userInfo,
        hasUserInfo: true
      })
    } else if (this.data.canIUse){
      // 由于 getUserInfo 是网络请求，可能会在 Page.onLoad 之后才返回
      // 所以此处加入 callback 以防止这种情况
      app.userInfoReadyCallback = res => {
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    } else {
      // 在没有 open-type=getUserInfo 版本的兼容处理
      wx.getUserInfo({
        success: res => {
          app.globalData.userInfo = res.userInfo
          this.setData({
            userInfo: res.userInfo,
            hasUserInfo: true
          })
        }
      })
    }
  },
  getUserInfo: function(e) {
    console.log(e)
    app.globalData.userInfo = e.detail.userInfo
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
